<?php
Class Salle{
	/*Paramètre réglant l'accès à la BDD. doit etre présent dans TOUTES les classes*/
	private $dbh;

	/*paramètres correspondants aux colonnes de la BDD*/
	private $id;
	private $name;

	/*Constructeur. Il va aller chercher l'utilisateur correspondant à l'ID et remplir les paramètres de l'objet avec les données de la BDD*/
	public function __construct($dbh, $id=NULL) {
		if($dbh != NULL){
			$this->dbh = $dbh;
			if($id != NULL){
				$stmt = $this->dbh->prepare("SELECT id_salle,nom_salle FROM `salle_bliss` WHERE id_salle=:id");
				$stmt->bindParam(':id', $id);
				if($stmt->execute()) {
					while ($row = $stmt->fetch()) {
						$this->id = $row['id_salle'];
						$this->name = $row['nom_salle'];
					}
				}
			}else{
				$this->id = NULL;
				$this->name = NULL;
			}
		}
	}

	/*Getters et Setters pour chaque paramètre*/
	public function getId(){
		return $this->id;
	}

	public function setId($id){
		$this->id = $id;
	}

	public function getName(){
		return $this->name;
	}

	public function setName($name){
		$this->name = $name;
	}

	/*fonction de sauvegarde*/
	public function save(){
		if($this->id != NULL){
			$stmt = $this->dbh->prepare("UPDATE `salle_bliss` SET nom_salle=:name WHERE id_salle=:id");
			$stmt->bindParam(':name', $this->name);
			$stmt->bindParam(':id', $this->id);

			return $stmt->execute();
		}elseif($this->checkParam($this->name) ){

			$stmt = $this->dbh->prepare("INSERT INTO `salle_bliss` SET nom_salle=:name");
			$stmt->bindParam(':name', $this->name);

			$ret = $stmt->execute();
			$this->id = $this->dbh->lastInsertId();
		}
	}
	/*Fonction de suppression*/
	public function delete(){
		if($this->id != NULL){
			$stmt = $this->dbh->prepare("DELETE FROM `salle_bliss` WHERE id_salle=:id");
			$stmt->bindParam(':id', $this->id);

			$ret = $stmt->execute();
			return true;
		}
	}

	/*Fonction pour verifier que le parametre en argument n'est pas vide*/
	private function checkParam($param){
		if($param == NULL || $param == '')
			return false;
		else
			return true;
	}
}